package com.flyco.modules.sms.vo;

import java.util.Date;
import java.util.List;
import com.flyco.modules.sms.entity.SmsCoupon;
import com.flyco.modules.sms.entity.SmsCouponHistory;
import lombok.Data;
import com.flyco.poi.excel.annotation.Excel;
import com.flyco.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Description: 优惠券管理
 * @Author: flyco
 * @Date:   2020-01-07
 * @Version: V1.0
 */
@Data
public class SmsCouponPage {

	/**id*/
	private Long id;
	/**优惠卷类型；0->全场赠券；1->会员赠券；2->购物赠券；3->注册赠券*/
  	@Excel(name = "优惠卷类型；0->全场赠券；1->会员赠券；2->购物赠券；3->注册赠券", width = 15)
	private Integer type;
	/**券名称*/
  	@Excel(name = "券名称", width = 15)
	private String name;
	/**使用平台：all->全部；app->app端；wap->移动端；pc->pc端；wx->微信小程序*/
  	@Excel(name = "使用平台：all->全部；app->app端；wap->移动端；pc->pc端；wx->微信小程序", width = 15)
	private String platform;
	/**数量*/
  	@Excel(name = "数量", width = 15)
	private Integer count;
	/**金额/折扣*/
  	@Excel(name = "金额/折扣", width = 15)
	private java.math.BigDecimal amount;
	/**每人限领张数*/
  	@Excel(name = "每人限领张数", width = 15)
	private Integer perLimit;
	/**每个门店限领张数*/
	@Excel(name = "每个门店限领张数", width = 15)
	private Integer limitPerStore;
	/**使用门槛；0表示无门槛*/
  	@Excel(name = "使用门槛；0表示无门槛", width = 15)
	private java.math.BigDecimal minPoint;
	/**折扣券限制最高优惠金额*/
	private java.math.BigDecimal limitAmount;
	/**startTime*/
  	@Excel(name = "startTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
  	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date startTime;
	/**endTime*/
  	@Excel(name = "endTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
  	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date endTime;
	/**使用类型：0->全场通用；1->指定分类；2->指定商品*/
  	@Excel(name = "使用类型：0->全场通用；1->指定分类；2->指定商品", width = 15)
	private Integer useType;
	/**备注*/
  	@Excel(name = "备注", width = 15)
	private String note;
	/**发行数量*/
  	@Excel(name = "发行数量", width = 15)
	private Integer publishCount;
	/**已使用数量*/
  	@Excel(name = "已使用数量", width = 15)
	private Integer useCount;
	/**领取数量*/
  	@Excel(name = "领取数量", width = 15)
	private Integer receiveCount;
	/**可以领取的日期*/
  	@Excel(name = "可以领取的日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
  	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date enableTime;
	/**优惠码*/
  	@Excel(name = "优惠码", width = 15)
	private String code;
	/**可领取的会员类型：0->无限时*/
  	@Excel(name = "可领取的会员类型：0->无限时", width = 15)
	private Integer memberLevel;
	/**券类型 discount 优惠券／gift 赠品券 / rate 折扣券*/
  	@Excel(name = "券类型 discount 优惠券／gift 赠品券 / rate 折扣券", width = 15)
	private String couponType;
	/**券是否绑定用户，0不绑定，1绑定*/
	private Integer bindFlag;
	/**赠品券虚拟分组，组间共存，组内互斥*/
  	@Excel(name = "赠品券虚拟分组，组间共存，组内互斥", width = 15)
	private String giftGroup;
	/**赠品数据，json格式:[{"productSn":"FS871","quantity":2}]*/
  	@Excel(name = "赠品数据", width = 15)
	private Object giftData;
	/**创建人*/
	private String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**更新人*/
	private String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date updateTime;

	@ExcelCollection(name="优惠券记录")
	private List<SmsCouponHistory> smsCouponHistoryList;
	
}
